#pragma once

#include "Control.h"
#include <string>
#include <SFML/Graphics.hpp>
#include <SFML/System/Unicode.hpp>
#include <stdexcept>

namespace Utils {
	namespace GUI {
		class FontManager
		{
		protected:
			static FontManager* instance;

			sf::Uint32* charset;
			std::map<std::string, sf::Font> fonts;

			FontManager();
		public:
			static sf::Font& LoadFromFile(std::string);
		};

		class FontNotFoundException: public std::logic_error
		{
			public:
			  explicit FontNotFoundException(const std::string& what_arg);
		};
	}
}
